/*
 * Validador.h
 *
 *  Created on: 17/05/2012
 *      Author: Shazgath
 */

#ifndef VALIDADOR_H_
#define VALIDADOR_H_

#include <string>
#include <vector>
#include <sstream>
#include <map>
#include "Tabla.h"

#define BUFFER_SIZE 200
#define DELIM '|'
#define ENDL '\n'

#define HECHO 'H'
#define DIMENSION 'D'

class Consulta;

class Validador {
public:
	Validador();
	virtual ~Validador();
	bool validarRegistro(std::vector<std::string> reg, unsigned int nTabla);
	void cargarTablas(std::string nArch);
	bool validarConsulta(Consulta* c);
	Tabla* getTabla(unsigned int i);
	char getTipo(int pos, int nTabla);
	friend std::ostream& operator<<(std::ostream& oss, Validador& val);
private:
	std::map<unsigned int, Tabla*> tablas;
};

std::ostream& operator<<(std::ostream& oss, Validador& val);
#endif /* VALIDADOR_H_ */


